草庐IT

MySQL id序列

全部标签

c# - 使用动态属性名称将数据序列化为 json 字符串

我有一个接受键和值的方法。两个变量都可以有动态内容。key=>是一个动态字符串,可以是任何东西,例如“上次发送日期”value=>是一个对象,它可以是任何东西,例如"2014-10-10"由于键是动态值,例如“LastSentDate”或传递给方法的任何键,因此我希望json属性是键字符串的值,而不是字面上的键本身...publicvoidSetRowVariable(stringkey,objectvalue){varobj=new{key=value};//keypropertyisliterallytakenmaybeanonymobjectisnotagoodidea?stri

c# - XML 序列化和 DefaultValue ("") c# 中的相关问题

我的类属性具有将被序列化的默认值。publicclassDeclaredValue{[XmlElement(ElementName="Amount",DataType="double",IsNullable=false),DefaultValue(999)]publicdoubleAmount{get;set;}[XmlElement(ElementName="Reference2",DataType="string",IsNullable=false),DefaultValue("")]publicstringReference2{get;set;}}因此我们创建DeclaredVa

c# - .NET 中的方法是否也与数据成员一起序列化?

标题很明显,我需要知道在C#中方法是否与对象实例一起序列化,我知道它们在Java中没有,但我对C#有点陌生。如果他们不这样做,在将其发送到另一台PC时,我是否必须将带有字节流(序列化对象)的原始类放在一个包中?原始类可以像DLL文件一样吗? 最佳答案 没有。类型信息与状态一起被序列化。为了反序列化数据,您的程序将需要访问包含类型(包括方法)的程序集。 关于c#-.NET中的方法是否也与数据成员一起序列化?,我们在StackOverflow上找到一个类似的问题:

c# - 无法将 JSON 数组反序列化为类型 - Json.NET

我正在尝试将json数据反序列化为模型类,但我失败了。这是我所做的:publicCountryModelGetCountries(){using(WebClientclient=newWebClient()){varresult=client.DownloadString("http://api.worldbank.org/incomeLevels/LIC/countries?format=json");varoutput=JsonConvert.DeserializeObject>(result);returnoutput.First();}}这是我的模型的样子:publicclas

c# - 为什么二进制序列化比 xml 序列化更快?

为什么二进制序列化被认为比xml序列化更快? 最佳答案 考虑序列化double例如:二进制序列化:从内存地址向流写入8字节二进制反序列化:读取相同的8个字节xml序列化:写入标记、转换为文本、写入结束标记-几乎是I/O的三倍和1000倍的CPU利用率xml反序列化:标签读取/验证、读取字符串并将其解析为数字、结束标签的读取/验证。I/O开销略多,CPU开销多一些 关于c#-为什么二进制序列化比xml序列化更快?,我们在StackOverflow上找到一个类似的问题:

c# - 序列化接口(interface)

我正在尝试运行与此类似的代码:usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Xml.Serialization;namespaceConsoleApplication1{[Serializable][XmlInclude(typeof(List))]publicclassClass1{privateIListmyArray;publicIListMyArray{get{returnmyArray;}set{myArray=value;}}}publicclassClass2{privatei

c# - 如何使用采用 XDocument 的构造函数将 XML 反序列化为对象?

我有一个类:publicclassMyClass{publicMyClass(){}}我希望能够使用XMLSeralizer直接在构造函数中反序列化XDocument,因此:publicclassMyClass{privateXmlSerializer_s=newXmlSerializer(typeof(MyClass));publicMyClass(){}publicMyClass(XDocumentxd){this=(MyClass)_s.Deserialize(xd.CreateReader());}}除非我不允许在构造函数中分配给“this”。这可能吗?

c# - 为什么 .Net 框架中有那么多简单类型没有标记为可序列化?

我发现.Net框架中的许多简单类型没有标记为可序列化,这是一个反复出现的不便。例如:System.Drawing.Point或Rectangle。这两个结构都只包含原始数据,应该可以很容易地以任何格式序列化。但是,由于缺少[System.Serializable]属性,我无法将它们与BinaryFormatter一起使用。这有什么我没有看到的原因吗? 最佳答案 这只是一个效率问题。将字段标记为可序列化,编译器必须将每个字段映射到别名表。如果它们都被标记为可序列化,则每个注入(inject)或继承它们的对象都需要映射到别名表以处理其序

c# - 使用 SqlCommand.ExecuteScalar() 从序列中选择在高磁盘使用率时返回 NULL

我遇到SqlCommand.ExecuteScalar()有时在生产环境中返回NULL。我在这里遇到了很多类似的问题,最接近的是:SqlCommand.ExecuteScalarreturnsnullbutrawSQLdoesnot.但给出的建议与我的情况无关。代码示例在这里:using(varconnection=newSqlConnection(connectionString)){connection.Open();using(varcommand=connection.CreateCommand()){command.CommandText="SELECTNEXTVALUEFO

c# - 为什么可空值序列的 Linq-to-Objects 总和本身可以为空?

像往常一样,int?表示System.Nullable(或System.Nullable`1[System.Int32])。假设您在内存中有一个IEnumerable(例如List),我们称它为seq;然后你可以找到它的总和:varseqSum=seq.Sum();当然这会转到扩展方法重载int?IEnumerable.Sum()(documentation)这实际上是System.Linq.Enumerable上的静态方法.但是,该方法永远不会返回null,那么为什么返回类型声明为Nullable?即使在seq的情况下是一个空集合,或者更一般地说,是一个所有元素都是null的集合类型